home *** CD-ROM | disk | FTP | other *** search
/ Programmer Plus 2007 / Programmer-Plus-2007.iso / Programming / ActiveX Controlls / NCTAudioEditor2 ActiveX DLL / NCTAudioEditor2.exe / {app} / Samples / TestBCBAudioEditor2 / Adv.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  2002-10-10  |  3.0 KB  |  91 lines

  1. //---------------------------------------------------------------------
  2. #include <vcl.h>
  3. #pragma hdrstop
  4.  
  5. #include "Adv.h"
  6. #include "Devices.h"
  7. //---------------------------------------------------------------------
  8. #pragma resource "*.dfm"
  9. TfrmAdv *frmAdv;
  10. //---------------------------------------------------------------------
  11. __fastcall TfrmAdv::TfrmAdv(TComponent* AOwner)
  12.     : TForm(AOwner)
  13. {
  14.     Dev = frmDevices->Dev;
  15. }
  16. //---------------------------------------------------------------------------
  17.  
  18. void __fastcall TfrmAdv::AdvClick(TObject *Sender)
  19. {
  20.     TCheckBox *ch = (TCheckBox*)Sender;
  21.     VARIANT sVar;
  22.  
  23.     if (ch->Checked==true) {
  24.         sVar.boolVal=true;
  25.     } else {
  26.         sVar.boolVal=false;
  27.     }
  28.  
  29.     Dev->DeviceLines->set_AdvancedValue(ch->Tag,sVar);
  30. }
  31. //---------------------------------------------------------------------------
  32.  
  33. void __fastcall TfrmAdv::AdvChange(TObject *Sender)
  34. {
  35.     TTrackBar *tb = (TTrackBar*)Sender;
  36.     VARIANT sVar;
  37.     sVar.lVal=tb->Position;
  38.     Dev->DeviceLines->set_AdvancedValue(tb->Tag,sVar);
  39. }
  40. //---------------------------------------------------------------------------
  41.  
  42. void __fastcall TfrmAdv::FormShow(TObject *Sender)
  43. {
  44.     Caption = AnsiString("Advanced Properties for ") + Dev->DeviceLines->Name; //sets the title of the form as "Advanced Properties for " + "output source name"
  45.     int n =Dev->DeviceLines->AdvancedCount;
  46.     for (int i = 0;i<=n;i++){
  47.         Variant a;
  48.         a = Dev->DeviceLines->get_AdvancedValue(i);
  49.         AnsiString cap;
  50.         cap = AnsiString(i+1)+AnsiString(" ")+AnsiString(Dev->DeviceLines->get_AdvancedName(i));
  51.         if (a.Type()==varBoolean){
  52.             TCheckBox *ch = new TCheckBox(gbOther);
  53.             ch->Parent = gbOther;
  54.             ch->Left = 16;
  55.             ch->Width = 220;
  56.             ch->Height = 17;
  57.             ch->Top = 80 + i * 23;
  58.             ch->Caption = cap;
  59.             ch->Tag = i;
  60.             ch->Checked = a;
  61.             ch->Name = AnsiString("ch") + AnsiString(i);
  62.             ch->OnClick = AdvClick;
  63.         }else{
  64.             TTrackBar *tb = new TTrackBar(gbOther);
  65.             tb->Parent = gbOther;
  66.             tb->Left = 16;
  67.             tb->Width = 109;
  68.             tb->Height = 17;
  69.             tb->Top = 80 + i * 23;
  70.             tb->Tag = i;
  71.             tb->ThumbLength = 10;
  72.             tb->Max = 65535;
  73.             tb->Frequency = 5000;
  74.             tb->Position = a;
  75.             tb->Name = AnsiString("tb") + AnsiString(i);
  76.             tb->OnChange = AdvChange;
  77.             TLabel *l = new TLabel(gbOther);
  78.             l->Parent = gbOther;
  79.             l->Left = 145;
  80.             l->Height = 17;
  81.             l->Top = 80 + i * 23;
  82.             l->Caption = cap;
  83.         }
  84.         gbOther->Height = 113 + Dev->DeviceLines->AdvancedCount * 23;
  85.         btnClose->Top = gbOther->Top + gbOther->Height + 8;
  86.         Height = gbOther->Top + gbOther->Height + 70;
  87.     }
  88. }
  89. //---------------------------------------------------------------------------
  90.  
  91.